iT邦幫忙

2021 iThome 鐵人賽

DAY 0
0
自我挑戰組

從零開始學習 JS 的連續-30 Days-系列 第 16

[Day 16]從零開始學習 JS 的連續-30 Days---AJAX !!

  • 分享至 

  • xImage
  •  

什麼是 AJAX?

  1. AJAX 即「Asynchronous JavaScript and XML」(非同步的JavaScript與XML技術)。
  2. 是一套綜合了多項技術的瀏覽器端網頁開發技術。
  3. 傳統的方式:
    1. 使用者端填寫表單(form),向網頁伺服器傳送一個請求( request )。
    2. 伺服器接收並處理傳來的表單,然後回傳( response )一個新的網頁。
    3. 在前後兩個頁面中的大部分HTML碼往往是相同的。
    4. 每次都需要向伺服器傳送請求( request ),應用的回傳( response )時間依賴於伺服器的回應時間。
    5. 導致了使用者介面的回應比本機應用慢得多。
  4. AJAX的方式:
    1. 應用可以僅向伺服器請求( request )並回傳( response )必須的資料
    2. 在客戶端採用JavaScript處理來自伺服器的回應( response )。
    3. 因為在瀏覽器和伺服器之間交換的資料大量減少,伺服器回應( response )更快了。
    4. 同時,很多的處理工作可以在客戶端機器上發出請求( request ),因此Web伺服器的負荷也減少了。

網頁請求狀態碼是什麼?

  1. HTTP 狀態碼表明一個 HTTP 要求是否已經被完成。回應分為五種:

    1. 資訊回應 (Informational responses, 100–199),
    2. 成功回應 (Successful responses, 200–299),
    3. 重定向 (Redirects, 300–399),
    4. 用戶端錯誤 (Client errors, 400–499),
    5. 伺服器端錯誤 (Server errors, 500–599).
  2. 如何觀看HTML狀態碼:

    1. 網頁開啟檢查。
    2. 找尋Network。
    3. 網頁重新整理。
    4. 找尋Status。


如圖所示黃色框的文字可以查看HTML狀態碼。

XML是什麼?

  1. 可延伸標記式語言(Extensible Markup Language,簡稱:XML)是一種標記式語言。
  2. XML設計用來傳送及攜帶資料資訊,不用來表現或展示資料,HTML則用來表現資料。


圖中

  1. readState :

    1. 0 : 意思是產生了一個XMLHttpRequest,但還沒連結要請求的資料。
    2. 1 : 使用了open () ,但還沒有把資料傳過去。
    3. 2 : 偵測到使用 send
    4. 3 : 讀取中。
    5. 4 : 已經回傳全部資料。
  2. open() :

    1. 用法 : xhr.open( '格式' , 要讀取的網址 , 同步與非同步 )
    2. 格式 : get (讀取資料) / post (傳資料到伺服器)
    3. 非同步/同步 : true / false
      1. 非同步 : true ,不會等資料回傳,就繼續執行程式。
      2. 同步 : false ,等資料回傳,再執行程式。
  3. send :

    1. 用法 : xhr.send( null空值 )

今天到此結束了。


上一篇
[Day 15]從零開始學習 JS 的連續-30 Days---forEach 的綜合應用
下一篇
[Day 17]從零開始學習 JS 的連續-30 Days---AJAX--方法介紹
系列文
從零開始學習 JS 的連續-30 Days-30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言